Skip to content

fix(release): cut-rc.yml's hotcrm smoke warning no longer claims pre-exit re-arms the gate - #14610

Merged
baozhoutao merged 1 commit into
mainfrom
claude/issue-9828-cut-rc-hotcrm-smoke-rearm-text
Sep 2, 2026
Merged

fix(release): cut-rc.yml's hotcrm smoke warning no longer claims pre-exit re-arms the gate#14610
baozhoutao merged 1 commit into
mainfrom
claude/issue-9828-cut-rc-hotcrm-smoke-rearm-text

Conversation

@claude

@claude claude Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Fixes #9828

What changed

.github/workflows/cut-rc.yml's Downstream backward-compat smoke step — the step comment (:868-873), the ::warning:: string (:882) — is the only edit. release.yml is untouched.

Before

      # Pre-publish gate #2035, kept in step with release.yml's publish job rather
      # than dropped for speed. In pre mode (which the guard step proved is active,
      # so ALWAYS on this lane) the #3600 amendment makes it advisory: a major
      # train exists to ship deliberate surface removals, and a migrated hotcrm
      # cannot exist until the rc artifacts it would migrate against are published.
      # It reports; it cannot block.
      - name: Downstream backward-compat smoke (live hotcrm, advisory in pre mode)
        ...
            echo "::warning::hotcrm@${HOTCRM_REF} is incompatible with the pre-release train — expected for this window's deliberate removals. Ship a migrated hotcrm release and bump HOTCRM_REF in release.yml before 'changeset pre exit' re-arms that gate."

After

      # Pre-publish gate #2035, kept in step with release.yml's publish job rather
      # than dropped for speed. This step is advisory by construction — it has no
      # BLOCKING switch — because this lane only ever runs in pre mode (the guard
      # step above proved it active). It reports; it cannot block. For why the
      # equivalent gate in release.yml is currently advisory too, and what re-arms
      # it, see that step's own comment.
      - name: Downstream backward-compat smoke (live hotcrm, advisory in pre mode)
        ...
            echo "::warning::hotcrm@${HOTCRM_REF} is incompatible with the pre-release train — expected for this window's deliberate removals. Ship a migrated hotcrm release, bump it, and set BLOCKING=1 in .github/workflows/release.yml to re-arm this gate."

Why

The old text told a release curator that changeset pre exit re-arms the gate. release.yml's own comment (:1153-1178) records that this was superseded: pre-exit fired (#8643, 2026-08-14) and the deadlock persisted anyway, because a migrated hotcrm release did not exist yet — the keying was the bug, not the event. release.yml's gate now keys re-arm on shipping a migrated hotcrm release + bumping HOTCRM_REF (+ BLOCKING=1), and its own ::warning:: (:1199) already says so. This PR mirrors that wording into cut-rc.yml's warning so both lanes state the same condition in the same words, and points the step comment at release.yml's comment as the single record of why the gate is advisory, rather than restating an outdated reason.

The step comment also dropped the "#3600 amendment" keying, which is the same superseded fact. This lane's step is advisory for a different, still-true reason than release.yml's: it carries no BLOCKING switch at all, and this lane only ever runs in pre mode. That's now what the comment says.

name: (advisory in pre mode) is unchanged — it's literally true on this lane (the rc lane only ever runs in pre mode), so it stays; the reasoning is now spelled out in the comment above it rather than in the name itself.

No logic change: if:, env: (HOTCRM_REF: v2.1.0), and the run: control flow (if bash scripts/downstream-smoke.sh; then … else … fi, the ::notice:: branch) are untouched. This step stays advisory and keeps emitting ::warning:: on failure, same as before.

Verification

  • git diff --stat — exactly one file: .github/workflows/cut-rc.yml, 6 insertions / 6 deletions.
  • git diff origin/main -- .github/workflows/release.yml — empty (untouched).
  • git grep -n "re-arms that gate\|advisory in pre mode\|Downstream backward-compat smoke" -- scripts content docs .github — after the change, re-arms that gate has zero hits anywhere in the tree; advisory in pre mode and Downstream backward-compat smoke each hit only the two workflows' step names, confirming nothing under scripts/, content/, or docs/ reads or tests this warning string or step name (the "check whether anything tests the claim" item from PM comment 5337063017).

Gates

Derived via node scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstack --commands .github/workflows/cut-rc.yml on this branch — 21 commands (11 pnpm, 10 direct node); reconciled 21 derived, 21 run, 0 NOT-MEASURED, 0 UNRUN via --ran. All 21 ran green, including the heavy pnpm check:pm-dispatch-gates self-test (1240/1240 cases). Re-verified the 10 direct-node gates and (separately, contention permitting) the fast pnpm ones after two origin/main merges during the run (final tree a5b95ee6e merged in); the derived union stayed identical (same 21 commands) at each re-derivation, and neither merge touched .github/workflows/cut-rc.yml or release.yml. check-nul-bytes clean.

This is .github/**-only with no package publish — skip-changeset label applied.

Generated by Claude Code


Generated by Claude Code

…exit re-arms the gate

The step's warning string and its comment both keyed the gate's re-arm
event to `changeset pre exit`, which release.yml's own comment records
was superseded (#8643): pre-exit fired and the deadlock stood anyway,
because a migrated hotcrm release did not exist yet. release.yml's
gate now keys the same posture on shipping a migrated hotcrm release
and bumping HOTCRM_REF (+ BLOCKING=1), and its warning already says
so. This mirrors that wording into cut-rc.yml's warning and drops the
"#3600 amendment" keying from the step comment in favor of the actual
reason this lane's step is advisory: it has no BLOCKING switch and
only ever runs in pre mode. No logic change — if:/env:/run: control
flow and HOTCRM_REF are untouched, and release.yml is untouched.
@claude claude Bot added the skip-changeset PR has no user-facing published change; bypasses the changeset gate label Sep 2, 2026
@baozhoutao
baozhoutao marked this pull request as ready for review September 2, 2026 15:17
@baozhoutao
baozhoutao enabled auto-merge September 2, 2026 15:17
@baozhoutao
baozhoutao added this pull request to the merge queue Sep 2, 2026
Merged via the queue into main with commit 8227a19 Sep 2, 2026
31 checks passed
@baozhoutao
baozhoutao deleted the claude/issue-9828-cut-rc-hotcrm-smoke-rearm-text branch September 2, 2026 16:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci/cd size/s skip-changeset PR has no user-facing published change; bypasses the changeset gate

Projects

None yet

2 participants